import axios from 'axios';
import { envConfig } from './get-env';

// 创建axios实例
const api = axios.create({
  baseURL: envConfig.apiBaseUrl,  // 使用环境配置中的API地址
  withCredentials: true,  // 允许跨域请求携带凭证
  headers: {
    'Content-Type': 'application/json',
  },
});

// 请求拦截器
api.interceptors.request.use(
  (config) => {
    // 在发送请求之前做些什么
    console.log('Request Config:', config);
    return config;
  },
  (error) => {
    // 对请求错误做些什么
    console.error('Request Error:', error);
    return Promise.reject(error);
  }
);

// 响应拦截器
api.interceptors.response.use(
  (response) => {
    // 对响应数据做点什么
    console.log('Response Data:', response.data);
    return response;
  },
  (error) => {
    // 对响应错误做点什么
    console.error('响应错误:', error);
    if (error.response) {
      // 服务器返回了错误状态码
      console.error('错误状态码:', error.response.status);
      console.error('错误信息:', error.response.data);
    }
    return Promise.reject(error);
  }
);

// 导出API URL常量
export const API_URLS = {
  // 认证相关
  LOGIN: '/user/login',
  CURRENT_USER: '/user/me',
  REGISTER: '/user/register',
  
  // 用户管理
  USERS: '/user',
  USER_DETAIL: (id: string) => `/user/${id}`,
  
  // VIP管理
  VIP: '/user/vip',
  
  // API密钥管理
  API_KEYS: '/api-keys'
};

export default api; 